package com.harveyguo.nihonngo.service;

import com.harveyguo.nihonngo.model.dto.BoxingGymDto;

import java.util.List;

/**
 * 拳馆Service接口
 */
public interface BoxingGymService {

    /**
     * 创建拳馆
     */
    BoxingGymDto createGym(BoxingGymDto gymDto);

    /**
     * 根据ID查找拳馆
     */
    BoxingGymDto findById(String id);

    /**
     * 查找所有拳馆
     */
    List<BoxingGymDto> findAll();

    /**
     * 根据认证状态查找拳馆
     */
    List<BoxingGymDto> findByVerified(Boolean isVerified);

    /**
     * 根据名称查找拳馆
     */
    List<BoxingGymDto> findByName(String name);

    /**
     * 根据地址查找拳馆
     */
    List<BoxingGymDto> findByAddress(String address);

    /**
     * 查找附近的拳馆
     */
    List<BoxingGymDto> findNearbyGyms(Double latitude, Double longitude, Double radius);

    /**
     * 更新拳馆信息
     */
    BoxingGymDto updateGym(String id, BoxingGymDto gymDto);

    /**
     * 删除拳馆
     */
    void deleteGym(String id);

    /**
     * 认证拳馆
     */
    BoxingGymDto verifyGym(String id);
}